function chooseImageFromSys(successCb, failCb, sizeType) {
	if (undefined == sizeType) {
		sizeType = ["original", "compressed"];
	}
	uni.chooseImage({
		count: 1, //默认是9。
		sizeType: sizeType, //可以指定是原图还是压缩图，默认二者都有。
		sourceType: ["album", "camera"], //album从相册选图，camera使用相机，默认二者都有。
		success(res) {
			console.log("获取本地图片成功", JSON.stringify(res));
			if (successCb) {
				successCb(res);
			}
		},
		fail(error) {
			console.log("获取本地图片失败", error);
			if (failCb) {
				failCb(error);
			}
		}
	});
}
 
function uploadImageToTencentCloudWithData(imgData, url, successCb, failCb) {
	//其中的url是从后端请求回来的。
	uni.request({
		// url: "https://cos.ap-nanjing.myqcloud.com/test-1309973429/test.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDDRPMCyaHtIzH4qaEuBNNAj38xYzDC0Rq%2F20230826%2Fap-nanjing%2Fs3%2Faws4_request&X-Amz-Date=20230826T090742Z&X-Amz-Expires=6000&X-Amz-SignedHeaders=host&X-Amz-Signature=a73033e106c172e49f65df0f48644df0616a05e030d83f50f56bd2ca8d7e3622",
		url: url,
		method: "PUT",
		data: imgData,
		header: {
			"content-type": 'image/jpeg;image/jpg;image/png;image/gif'
		},
		success: function(res) {
			if (200 == res.statusCode) {
				console.log("上传图片成功", JSON.stringify(res));
				// uni.showModal({
				// 	title: "上传成功",
				// })
				successCb(res)
			} else {
				console.log("上传图片失败", JSON.stringify(res));
				// uni.showModal({
				// 	title: "上传失败",
				// 	content: JSON.stringify(res)
				// })
				failCb(res)
			}
		},
		fail: function(error) {
			console.log("上传图片请求失败", error);
			uni.showModal({
				title: "上传失败",
				content: JSON.stringify(error)
			})
			failCb(error)
		}
	});
}
 
// 上传图片到后端的腾讯云服务器。
function uploadImageToTencentCloud(imgFilePath, url, successCb, failCb) {
	// #ifdef MP-WEIXIN
	uni.getFileSystemManager().readFile({
		filePath: imgFilePath,
		//encoding: 'base64',
		success: res => {
			uploadImageToTencentCloudWithData(res.data, url, successCb, failCb);
		},
		fail: function(error) {
			console.log("上传图片请求失败", error);
			if (failCb) {
				failCb(error);
			}
		}
	});
	// #endif
	
	// #ifdef APP-PLUS
	plus.io.resolveLocalFileSystemURL(imgFilePath, function(entry) {
		// 可通过entry对象操作test.html文件   
		entry.file(function(file) {
			var fileReader = new plus.io.FileReader();
			fileReader.onerror = function(e) { //读取文件出错。
				console.log("track_fr_onerror", e);
			};
			fileReader.onload = function(e) { //读取文件结束。
				console.log("track_fr_onload");
				let buf = uni.base64ToArrayBuffer(e.target.result.split(",")[1])
				uploadImageToTencentCloudWithData(buf);
			}
			fileReader.onloadend = function(e) { //读取文件成功结束。
				console.log("track_fr_onloadend");
			};
			// fileReader.readAsText(file, 'utf-8');
			fileReader.readAsDataURL(file);
			// fileReader.readAsArrayBuffer(file); // 尽管后台使用此方法可行 但AppPlus暂时不支持此方法。
		});
	});
	// #endif
}
 
 
module.exports = {
	chooseImageFromSys: chooseImageFromSys,
	uploadImageToTencentCloud: uploadImageToTencentCloud
}